格式化字符串输出 您所在的位置:网站首页 python temp用法 格式化字符串输出

格式化字符串输出

2023-06-28 08:33| 来源: 网络整理| 查看: 265

在对字符串格式化进行输出时,最常见的方法就是使用%格式化字符串。这种方法虽然用法简单,但是在遇到需要有多个参数传入时就显得有些麻烦。其实还有以下几种格式化输出字符串的方法。

str.format()

str.format()对比之前最常用的方法,相当于用{}和:代替了%。

str.format()在使用的时候接收的参数个数不限,对参数的位置也不做限制

print("{} {}".format("hello", "world")) #不设置指定位置,按默认顺序 print("{0} {1}".format("hello", "world")) #设置指定位置 print( "{1} {0} {1}".format("hello", "world")) # 设置指定位置

str.format()可以通过字典和列表索引传递参数,也可以直接设置参数。

# 设置参数 print("{age} {name}".format(age=18, name="TOM")) # 通过字典设置参数 person = {"age": 18, "name": "TOM"} print("{age} {name}".format(**person)) # 通过列表设置参数 li = [18, "TOM"] print("{0[0]} {0[1]}".format(li))

通过字典传入参数的方法有两种,一种是上面代码演示的这种使用 ** 操作符将字典解包为关键字参数,并将其传递给 str.format()的方法之外,另一种是:

print("[{p[age]} {p[name]}]".format(p=person))

对于使用列表同样也是两种方法,而且使用方法和字典方法一致

print("{0} {1}".format(*li))

在有些地方还会看到这种用法:

print("{1[0]} {1[1]}".format(li, li))这其实是结合了列表传入参数和指定位置,即传入1的0索引和1的1索引对应的参数。

f-string

f-string是在format的基础上修改而成的,核心思想和format相同。

# 基本使用方法 # f-string用大括{ }表示被替换字段,其中直接填入替换内容即可 name = 'Eric' print(f'Hello {name}') # 可以在{}内直接填写表达式,Python会求取结果并返回花括号内 print(f'{1 + 1}') # f-string中使用lambda匿名函数:可以做复杂的数值计算 a = 1 print(f"{(lambda x: x + 1)(a):.2f}") 可能存在的问题 引号问题

f-string大括号内使用的引号不能和大括号外的引号定界符引号冲突,需根据情况灵活切换使用单引号、双引号、单三引号、双三引号。

只要大括号内外的引号不同,就没有问题。但是大括号中只能是单引号和双引号 ,大括号外的引号定界符引号可以使用单引号、双引号、单三引号、双三引号。

大括号外的引号还可以使用\转义,但大括号内不能使用\转义

f-string大括号外如果需要显示大括号,则应输入连续两个大括号{{ }};大括号内需要引号,使用引号即可

字典格式化字符串 # 字符串模板中使用key temp = '教程是:%(name)s, 价格是:%(price)010.2f, 出版社是:%(publish)s' book = {'name':'Python基础教程', 'price': 99, 'publish': 'C语言中文网'} # 使用字典为字符串模板中的key传入值 print(temp % book) book = {'name':'C语言小白变怪兽', 'price':159, 'publish': 'C语言中文网'} # 使用字典为字符串模板中的key传入值 print(temp % book)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有